package com.sdleyou.treepro.common.model.dao;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.List;

/**
 * 正在养殖树苗DO
 */
@Data
@Document(collection = "{RRZS}_collection_user_tree")
public class UserTreeDO {
    /**
     * 文档主键
     */
    @Id
    @Field("_id")
    private String objId;

    /**
     * 树木ID
     */
    @Field("tree_id")
    @Indexed
    private String treeId;

    /**
     * 树木名称
     */
    @Field("tree_name")
    private String treeName;

    /**
     * 树木描述
     */
    @Field("tree_desc")
    private String treeDesc;

    /**
     * 树木类型
     */
    @Field("tree_type")
    private String treeType;

    /**
     * 树木图标
     */
    @Field("tree_icon")
    private String treeIcon;

    /**
     * 树木大图
     */
    @Field("tree_image")
    private List<String> treeImage;

    /**
     * 树木成长值
     */
    @Field("grow_value")
    private Integer growValue;

    /**
     * 兑换树苗需要消耗的能量
     */
    @Field("power_value")
    private Integer powerValue;

    /**
     * 养成后奖励的能量
     */
    @Field("reward_value")
    private Integer rewardValue;

    /**
     * 是否显示 SHOW 显示 HIDDEN 隐藏
     */
    @Field("is_show")
    private String isShow;

    /**
     * 树木当前经验
     */
    @Field("current_value")
    private Double currentValue;

    /**
     * 树木所属用户ID
     */
    @Field("user_id")
    @Indexed
    private String userId;

    /**
     * 用户昵称
     */
    @Field("nickname")
    private String nickname;

    /**
     * 用户头像
     */
    @Field("face")
    private String face;

    /**
     * 树木创建时间
     */
    @Field("created_at")
    private Long createdAt;

    /**
     * 树木养成时间
     */
    @Field("finished_at")
    private Long finishedAt;

    /**
     * 养殖类型 PERSON-个人  ENTERPRISE-企业
     */
    @Field("Plant_type")
    private String plantType;

    /**
     * 树木状态 0:未养成 1:已养成未兑换 2:已养成已兑换
     */
    @Field("tree_status")
    private Integer treeStatus;

    /**
     * 树苗上有几条虫子
     */
    @Field("worm_num")
    private Integer wormNum;

    /**
     * 上次产生虫子的时间
     */
    @Field("worm_time")
    private Long wormTime;

    /**
     * 第一条虫子生成的时间
     */
    @Field("first_worm_time")
    private Long firstWormTime;

    /**
     * 虫子使树减少的成长值
     */
    @Field("sub_value")
    private Integer subValue;

    /**
     * 创建时间
     */
    @Field("gmt_create")
    private Long gmtCreate;

    /**
     * 更新时间
     */
    @Field("gmt_modified")
    private Long gmtModified;
}
